Software defined networking and virtualization technologies allow, for example, networking functions previously performed in a single network device, such as a switch, router, firewall, or security device, to be separated and virtualized for operation across a virtual network and/or over many virtual machines. For instance, these networking functions can be separated and hosted on separate waypoint network devices which are virtualized and located on separate computing nodes. Such a configuration allows for dynamically increasing or decreasing the amount of computing resources devoted to performing specific networking functions in response to changing demand during ongoing operation. By contrast, traditional methods using specific fixed hardware devices, such as dedicated firewalls or dedicated address translation devices, can be inefficient, as some fixed devices may have excess capacity and other fixed devices may be fully utilized. Software defined networking can alleviate such a situation by allowing networking functions to run in virtual machines which can be launched in real-time to meet increased demand, rather than devoting fixed hardware to the networking functions based on out of date estimates.
In a software defined network infrastructure, network peers, clients, or servers, which may run on physical machines or virtual machines, can communicate by establishing a network stream or session. The network stream, which includes numerous network packets, may pass through numerous network devices, such as the waypoint network devices described above, which can perform one or more networking functions on the network stream. Depending on the desired networking functions, the network stream can be configured to pass through one, two, three, or more waypoint network devices, and each waypoint network device can perform its networking function on the network packets of the network stream. For example, a network stream can pass sequentially through a firewall waypoint network device, a load balancer waypoint network device, and an encryption waypoint network device.
However, in order for a network stream to pass through multiple waypoint network devices in overlay networks, the network stream may need to exit the underlay physical network cloud, enter one waypoint network device, return to the underlay physical network cloud, enter another waypoint network device, return to the underlay physical network cloud again, etc. Each traversal between the network cloud and a waypoint network device makes use of bandwidth and increases the latency delay of packets of the network stream. Therefore, a need exists of technological solution to improve the functioning of software defined networking, for example, by optimizing bandwidth consumption of network streams traversing waypoint network devices.